home *** CD-ROM | disk | FTP | other *** search
/ Popular Request / By Popular Request (Arsenal Computer)(SysOptics Distribution System).ISO / amiga4 / sclk1_72.lha / SClock / Source / prefsnotify.c < prev    next >
C/C++ Source or Header  |  1993-12-26  |  2KB  |  80 lines

  1. /****************************************************************************
  2. *
  3. * VERSION
  4. *    $VER: prefsnotify.c 1.70 (12.12.93)
  5. *
  6. * DESCRIPTION
  7. *    Screen mode prefs notify code...
  8. *
  9. * AUTHOR
  10. *    Rune Johnsrud
  11. *
  12. * COPYRIGHT
  13. *    (c) 1993 Amiga Freelancers
  14. *
  15. *****************************************************************************/
  16.  
  17. #include <exec/types.h>
  18. #include <exec/memory.h>
  19. #include <dos/dos.h>
  20. #include <dos/notify.h>
  21. #include <intuition/intuition.h>
  22. #include <graphics/gfx.h>
  23. #include <utility/date.h>
  24.  
  25. #include <proto/exec.h>
  26. #include <proto/dos.h>
  27.  
  28. #include "global.h"
  29.  
  30. /****************************************************************************/
  31.  
  32. extern struct GlobalData *gd;
  33.  
  34. /****************************************************************************/
  35.  
  36. UBYTE PrefsFileName[] = "ENV:sys/screenmode.prefs";
  37.  
  38. /****************************************************************************/
  39.  
  40.  
  41. WORD CreatePrefsNotify(VOID)
  42. {
  43.     gd->NReq = AllocVec(sizeof(struct NotifyRequest), MEMF_CLEAR);
  44.     if (!gd->NReq) return GEN_ERR_ALLOCMEM;
  45.  
  46.     gd->PNSigNum = AllocSignal(-1L);
  47.     if (gd->PNSigNum == -1) return GEN_ERR_ALLOCSIGNAL;
  48.  
  49.     gd->NReq->nr_Name                         = PrefsFileName;
  50.     gd->NReq->nr_Flags                        = NRF_SEND_SIGNAL;
  51.     gd->NReq->nr_stuff.nr_Signal.nr_Task      = (struct Task *) FindTask(NULL);
  52.     gd->NReq->nr_stuff.nr_Signal.nr_SignalNum = gd->PNSigNum;
  53.  
  54.     if (StartNotify(gd->NReq) == DOSTRUE)
  55.     {
  56.         return NOERROR;
  57.     }
  58.     else
  59.     {
  60.         return PN_ERR_PREFSNOTIFY;
  61.     }
  62. }
  63.  
  64.  
  65. WORD DeletePrefsNotify(VOID)
  66. {
  67.     if (gd->NReq)
  68.     {
  69.         EndNotify(gd->NReq);
  70.         FreeVec(gd->NReq);
  71.     }
  72.  
  73.     if (gd->PNSigNum != -1) FreeSignal(gd->PNSigNum);
  74.  
  75.     return NOERROR;
  76. }
  77.  
  78.  
  79. /* End Of File */
  80.